iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 25
0
Modern Web

網頁技術學習心得系列 第 25

Webpack 筆記一(為什麼需要 Webpack)

  • 分享至 

  • xImage
  •  

為什麼需要 webpack

Webpack 是bundle module 的工具,

因為執行環境的不同,使用引入 module 的語法也不同:

  1. node.js:使用 require 語法

    const first = require('./index.js')
    console.log(first)
    
  2. web:使用 script 語法

<script src='./index.js' type='module'></sciprt>

在 web 版會有一個問題,因為不像 node.js 一樣可以自行命名 module,
所以會有全域變數的命名問題,如果我今天引入 JQuery,再引入我自己寫的 module,在此 module 裡面也命名函式為 $,這樣就會跟 JQuery 的 $ 產生衝突。

解決方法:

  1. 可以利用 jQuery.noConflict(),來避免。
  2. 可以利用 ES6 export、import 的語法:
    // utilis.js
    export function first (str) {
        return str[0]
    }
    
    //index.js
    import { first } from './utilis.js'
    const result = findFirst('rockwang')
    console.log(result)
    
    //index.html
    <!DOCTYPE html>
    <html>
    <head>
        <script src='index.js' type='module'><script/>
    </head>
    <body></body>
    </html>
    

利用 ES6 的問題:

  1. 舊的瀏覽器版本不支援
  2. 需要架一個 server

Log:

所以就出現一些工具,提供 compile 的功能,讓你可以將 module 打包,使可以在瀏覽器執行。

使用 webpack 打包,設定檔會預設去找 src 內的檔案,然後 compile 成 main.js 檔案放在預設的 dist 資料夾裡。

Webpack 安裝指令:npm install webpack webpack-cli --save-dev


上一篇
Fetch & Promise 筆記八(實作鬧鐘 Promise)
下一篇
Webpack 筆記二(webpack 設定檔)
系列文
網頁技術學習心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言